package com.evasion.controladores;


import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.servlet.http.HttpSession;

import com.evasion.persistence.entidades.DatosGenerale;
import com.evasion.servicios.ServicioAdministracion;
import com.evasion.servicios.ServicioLogin;


@ViewScoped
@ManagedBean (name = "loginController")
public class ControladorLogin extends BaseController {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String valor="";
	
	@EJB
	private ServicioLogin servicioLogin;
	
	@EJB
	private ServicioAdministracion servicioAdministracion;
	
	
	@ManagedProperty(value="#{usuarioDataManager}")
	private UsuarioDataManager usuarioDataManager;
	
	
	@ManagedProperty(value="#{empresaDataManager}")
	private EmpresaDataManager empresaDataManager;
	
	
	
	public ControladorLogin(){
		//usuario=new Usuario();
		
	}
	public String autenticar(){
		
		if(servicioLogin.validarUsuario(usuarioDataManager.getUsuario())){
			HttpSession session = Util.getSession();
			session.setAttribute("username", usuarioDataManager.getUsuario().getUsuario());
			List<DatosGenerale> empresasRegistradas=this.servicioAdministracion.getTodasEmpresas(null, null);
			
			if (empresasRegistradas!=null) {
				empresaDataManager.setListaEmpresa(empresasRegistradas);
				empresaDataManager.setNumRegistrosConsultados(empresasRegistradas.size());
			}
			return valor="evasion";
		
		}else{

		        addMessageError("Usuario o Clave Increctos");
			return valor="login";
			
		}
	}

	
	
	public UsuarioDataManager getUsuarioDataManager() {
		return usuarioDataManager;
	}

	public void setUsuarioDataManager(UsuarioDataManager usuarioDataManager) {
		this.usuarioDataManager = usuarioDataManager;
	}
	public EmpresaDataManager getEmpresaDataManager() {
		return empresaDataManager;
	}
	public void setEmpresaDataManager(EmpresaDataManager empresaDataManager) {
		this.empresaDataManager = empresaDataManager;
	}
	
	public String logout() {
	      HttpSession session = Util.getSession();
	      session.invalidate();
	      return "login";
	   }
	public String getValor() {
		return valor;
	}
	public void setValor(String valor) {
		this.valor = valor;
	}
	
}
